package work.mediway.mdm.biz.entity.biz;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;

import javax.validation.constraints.NotBlank;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 模型信息
 */
@ApiModel(value = "模型信息")
@Data
@TableName(value = "SS_Model_Info")
public class SsModelInfo implements Serializable {
    /**
     * 主键id
     */
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value = "主键id")
    private Long id;

    /**
     * 模型代码
     */
    @TableField(value = "model_code")
    @ApiModelProperty(value = "模型代码")
    @NotBlank(message = "不能为空")
    private String modelCode;

    /**
     * 模型名称
     */
    @TableField(value = "model_name")
    @ApiModelProperty(value = "模型名称")
    @NotBlank(message = "不能为空")
    private String modelName;

    /**
     * 模型分类(1：主数据；2：参考数据)
     */
    @TableField(value = "model_type")
    @ApiModelProperty(value = "模型分类(1：主数据；2：参考数据)", allowableValues = "1,2")
    @NotBlank(message = "不能为空")
    private String modelType;

    /**
     * 存储数据请求路径
     */
    @TableField(value = "save_path")
    @ApiModelProperty(value = "存储数据请求路径")
    private String savePath;

    /**
     * 存储数据请求方式(GET...)
     */
    @TableField(value = "save_method")
    @ApiModelProperty(value = "存储数据请求方式(GET...)", allowableValues = "GET,POST")
    private String saveMethod;

    /**
     * 存储数据请求参数类型(JSON,XML,String)
     */
    @TableField(value = "save_param_type")
    @ApiModelProperty(value = "存储数据请求参数类型(JSON,XML,String)", allowableValues = "JSON,XML,String")
    private String saveParamType;

    /**
     * 存储数据请求参数
     */
    @TableField(value = "save_request")
    @ApiModelProperty(value = "存储数据请求参数")
    private String saveRequest;

    /**
     * 存储数据响应
     */
    @TableField(value = "save_response")
    @ApiModelProperty(value = "存储数据响应")
    private String saveResponse;

    /**
     * 查询数据请求路径
     */
    @TableField(value = "select_path")
    @ApiModelProperty(value = "查询数据请求路径")
    private String selectPath;

    /**
     * 查询数据请求方式(GET...)
     */
    @TableField(value = "select_method")
    @ApiModelProperty(value = "查询数据请求方式(GET...)", allowableValues = "GET,POST")
    private String selectMethod;

    /**
     * 查询数据请求参数类型(JSON,XML)
     */
    @TableField(value = "select_param_type")
    @ApiModelProperty(value = "查询数据请求参数类型(JSON,XML)", allowableValues = "JSON,XML,String")
    private String selectParamType;

    /**
     * 查询数据参数
     */
    @TableField(value = "select_request")
    @ApiModelProperty(value = "查询数据参数")
    private String selectRequest;

    /**
     * 查询数据响应
     */
    @TableField(value = "select_response")
    @ApiModelProperty(value = "查询数据响应")
    private String selectResponse;

    /**
     * 所属标准（国家标准，行业标准，企业标准，企业推荐，企业参考）
     */
    @TableField(value = "model_data_standard")
    @ApiModelProperty(value = "所属标准（国家标准，行业标准，企业标准，企业推荐，企业参考）")
    private String modelDataStandard;

    /**
     * 版本编号
     */
    @TableField(value = "model_data_version")
    @ApiModelProperty(value = "版本编号")
    private String modelDataVersion;

    /**
     * 来源系统
     */
    @TableField(value = "source_system")
    @ApiModelProperty(value = "来源系统")
    private String sourceSystem;

    @TableField(exist = false)
    @ApiModelProperty(value = "来源系统")
    private String sourceSystemDesc;

    /**
     * 更新人
     */
    @TableField(value = "update_user")
    @ApiModelProperty(value = "更新人", hidden = true)
    private String updateUser;

    /**
     * 更新日期
     */
    @TableField(value = "update_date")
    @ApiModelProperty(value = "更新日期", hidden = true)
    private String updateDate;

    @TableField(exist = false)
    @ApiModelProperty(value = "数据总量", hidden = true)
    private String dataCount;

    private static final long serialVersionUID = 1L;
}